package com.lanou.service;

import com.github.pagehelper.PageInfo;
import com.lanou.entity.Consultant;
import com.lanou.entity.Course;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ConsultantService {

     // 新增咨询师（包含标签关联）
    int insertConsultant(Consultant consultant);

     //根据ID删除咨询师
    int deleteConsultantById(Integer id);

     // 批量删除咨询师
    int deleteConsultantsByIds(List<Integer> ids);

      //更新咨询师（包含标签关联）
    int updateConsultant(Consultant consultant);

      //根据ID查询咨询师（级联查询等级和标签）
    Consultant selectConsultantById(Integer id);

      //分页查询咨询师
    PageInfo<Consultant>selectConsultantByPage(Consultant consultant, int pageNum, int pageSize);

      //根据等级ID查询咨询师
    List<Consultant> selectConsultantsByLevelId(Integer levelId);

     // 根据标签ID查询咨询师
    List<Consultant> selectConsultantsByTagId(Integer tagId);

    List<Course> selectCoursesByConsultantId(Integer consultantId);
    //根据咨询师等级和咨询类别级联查询
    List<Consultant> selectConsultantByLevelAndSort(@Param("levelName") String levelName,
                                                    @Param("sort") String sort);

    List<Consultant> selectConsultantsByFilter(
            String region,
            List<Integer> tagIds,
            String levelName,
            String gender

    );
}
